package com.yoyo.itravel.bean;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description 景点门票订单实体类
 *
 * @author HZX
 * @date 2020/5/16 19:18
 */
public class SightOrder implements Serializable {

    private String orderId; // 景点预定订单id(用作订单号)
    private String realName; // 预定人真实姓名
    private String phone; // 预定人联系电话
    private String IDCard; // 预定人身份证号
    private Integer orderNum; // 预定景点门票的数量
    private BigDecimal payAmount; // 支付金额
    private Integer orderStatus; // 订单状态(0:已取消、1:待付款、2:待出行、3:待点评)
    private Integer payType; // 支付类型(1:支付宝、2:微信)
    private Date tripDate; // 出行日期
    private String tradeNo; // 订单交易号
    private Date createTime; // 订单生成时间

    private String userId; // 订单所属的用户id
    private User user; // 订单所属的用户对象

    private String detailTypeId; // 景点具体门票类型id
    private TicketTypeDetail ticketTypeDetail; // 景点具体门票类型对象

    public SightOrder() {
    }

    public SightOrder(String orderId, String realName, String phone, String IDCard, Integer orderNum, BigDecimal payAmount, Integer orderStatus, Integer payType, Date tripDate, String tradeNo, Date createTime, String userId, User user, String detailTypeId, TicketTypeDetail ticketTypeDetail) {
        this.orderId = orderId;
        this.realName = realName;
        this.phone = phone;
        this.IDCard = IDCard;
        this.orderNum = orderNum;
        this.payAmount = payAmount;
        this.orderStatus = orderStatus;
        this.payType = payType;
        this.tripDate = tripDate;
        this.tradeNo = tradeNo;
        this.createTime = createTime;
        this.userId = userId;
        this.user = user;
        this.detailTypeId = detailTypeId;
        this.ticketTypeDetail = ticketTypeDetail;
    }

    public SightOrder(String orderId, String realName, String phone, String IDCard, Integer orderNum, BigDecimal payAmount, Integer orderStatus, Integer payType, Date tripDate, Date createTime, String userId, User user, String detailTypeId, TicketTypeDetail ticketTypeDetail) {
        this.orderId = orderId;
        this.realName = realName;
        this.phone = phone;
        this.IDCard = IDCard;
        this.orderNum = orderNum;
        this.payAmount = payAmount;
        this.orderStatus = orderStatus;
        this.payType = payType;
        this.tripDate = tripDate;
        this.createTime = createTime;
        this.userId = userId;
        this.user = user;
        this.detailTypeId = detailTypeId;
        this.ticketTypeDetail = ticketTypeDetail;
    }

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getIDCard() {
        return IDCard;
    }

    public void setIDCard(String IDCard) {
        this.IDCard = IDCard;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Date getTripDate() {
        return tripDate;
    }

    public void setTripDate(Date tripDate) {
        this.tripDate = tripDate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String getDetailTypeId() {
        return detailTypeId;
    }

    public void setDetailTypeId(String detailTypeId) {
        this.detailTypeId = detailTypeId;
    }

    public TicketTypeDetail getTicketTypeDetail() {
        return ticketTypeDetail;
    }

    public void setTicketTypeDetail(TicketTypeDetail ticketTypeDetail) {
        this.ticketTypeDetail = ticketTypeDetail;
    }

    public String getTradeNo() {
        return tradeNo;
    }

    public void setTradeNo(String tradeNo) {
        this.tradeNo = tradeNo;
    }

    @Override
    public String toString() {
        return "SightOrder{" +
                "orderId='" + orderId + '\'' +
                ", realName='" + realName + '\'' +
                ", phone='" + phone + '\'' +
                ", IDCard='" + IDCard + '\'' +
                ", orderNum=" + orderNum +
                ", payAmount=" + payAmount +
                ", orderStatus=" + orderStatus +
                ", payType=" + payType +
                ", tripDate=" + tripDate +
                ", tradeNo='" + tradeNo + '\'' +
                ", createTime=" + createTime +
                ", userId='" + userId + '\'' +
                ", user=" + user +
                ", detailTypeId='" + detailTypeId + '\'' +
                ", ticketTypeDetail=" + ticketTypeDetail +
                '}';
    }
}
